
package com.google.project.client.Service;

import java.util.List;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.project.shared.ProjectDTO;
import com.google.project.shared.ProjectStaffDTO;
import com.google.project.shared.TaskRequireDTO;
import com.google.project.shared.UsersDTO;


public interface ProjectStaffServiceAsync {

	void addStaff(ProjectStaffDTO staff, AsyncCallback<ProjectStaffDTO> callback);

	void getProjectStaffList(String projectId,
			AsyncCallback<List<ProjectStaffDTO>> callback);

	void addStaff(UsersDTO userDTO, ProjectStaffDTO projectStaffDTO,
			AsyncCallback<ProjectStaffDTO> asyncCallback);

	void deleteProjectStaff(String id, AsyncCallback<Void> callback);

	void getAllPrjStaff(AsyncCallback<List<ProjectStaffDTO>> callback);

	void addStaff(String projectId, ProjectStaffDTO projectStaffDTO,
			AsyncCallback<ProjectStaffDTO> callback);

	void addStaffList(List<UsersDTO> userDTOList, ProjectDTO projectChoosed,TaskRequireDTO taskRequireDTO,
			AsyncCallback<Void> callback);

	void updateProjectStaff(List<ProjectStaffDTO> projectStaffDTOList,
			List<UsersDTO> usersDTOList, int regisOrRemoveFlag,
			AsyncCallback<Void> callback);

	void searchPJWithTime(Long fromDate, Long toDate,
			AsyncCallback<List<ProjectStaffDTO>> callback);
}
